//
// Created by Zhangwj on 2023/9/25.
//

#ifndef COMPILE_TASK2_DECLNODE_H
#define COMPILE_TASK2_DECLNODE_H


#include <memory>
#include "SyntaxTreeNode.h"
#include "ConstDeclNode.h"
#include "VarDeclNode.h"
#include "../Parser.h"

class DeclNode : public SyntaxTreeNode {
public:
    //Decl → ConstDecl | VarDecl
    std::unique_ptr<ConstDeclNode> ConstDecl;
    std::unique_ptr<VarDeclNode> VarDecl;

    static std::unique_ptr<DeclNode> DeclParser(Parser &parser);
};


#endif //COMPILE_TASK2_DECLNODE_H
